The Internet Protocol Multimedia Subsystem (“IMS”) is an architectural framework for delivering Internet Protocol (“IP”) multimedia to mobile users, such as users of smart phones or tablet computers. An IMS core network (“IMS core”) permits wireless and wireline devices to access multimedia, messaging, and voice applications and services. IMS standards and specifications have been promulgated by the 3rd Generation Partnership Project (“3GPP”™). To allow the IMS core to be integrated with Internet resources, the 3GPP specifications use Internet Engineering Task Force protocols within the IMS core, such as Session Initiation Protocol (“SIP”) and Diameter. SIP is a signaling protocol used for creating, modifying and terminating two-party or multiparty sessions consisting of one or several media streams. A mobile device registers its IP address with a SIP registrar server within an IMS core by generating and sending a SIP request message with a “REGISTER” method token. Once registered, a mobile device may subsequently establish multimedia sessions via the IMS core.
An IMS client (or IMS stack) software component on a mobile device allows one or more applications on the mobile device to register for various application services that are available on the IMS network, such as Voice over LTE (VoLTE), Rich Communication Services (RCS), Short Message Service over Internet Protocol (SMS over IP), and Presence. If the registration is successful, the mobile device application may then take advantage of the functionality offered by the application service to which it is registered. If the registration is unsuccessful, however, then the application will be unable to take advantage of the offered functionality.
During registration for VoLTE, for example, Security Parameter Information (SPIs) is negotiated along with associated expiration times. To enable continuing access to services after an expiration time, the network is required to negotiate new SPIs for use after an old SPI expires, as set forth in 3GPP specification 24.299, which is herein incorporated by reference in its entirety. However, in some instances, a race condition may occur when both an old SPI and a new SPI are active at the same time. Such race conditions, which are not addressed in current versions of the 3GPP specifications, may result in failed registrations for requested services. These failed services have an adverse impact on the performance of the network and are a source of frustration for end users who are unable to access desired services. These and other problems exist within the current IMS architecture.